1. Technical Field:
The present invention relates, in general, to a method and system to be utilized with a data storage subsystem. In particular, the present invention relates to a method and system to be utilized with a data storage subsystem which utilizes redundant arrays of memory storage devices. Yet still more particularly, the present invention relates to a method and system, to be utilized with a data storage subsystem which utilizes redundant arrays of memory storage devices, and which automatically and correctly configures memory storage devices within a data storage subsystem composed of either partially populated or fully populated redundant arrays of memory storage device drawers.
2. Description of the Related Art:
Modern computer systems often utilize a plurality of storage devices or memories in order to store data. Many such storage devices are categorized as so-called "direct access storage devices" (DASD) in that the access plan for data within such a device is effectively independent of the location of the data. One example of such a storage device is a magnetic disk drive memory.
As over all system processing speeds within modern computer systems increase, magnetic disk storage technology access times have lagged. As a consequence, several techniques have been proposed for increasing the data throughput for storage systems associated with computer systems. One such technique is the provision of a redundant array of disk memory devices. Such arrays are increasingly utilized as a result of the decreases in size and cost per megabyte for data storage within disk memory devices.
Utilizing arrays of disks can effectively increase data throughput by taking advantage of the fact that digital data are generally represented as blocks or strings of binary symbols (e.g., zeros and ones.). By utilizing an array of disks, different portions of the blocks or strings of binary symbols can be written in parallel, rather than writing each symbol one at a time (serially) as would be done if just one large disk were utilized. For example, if some data were represented by an eight bit string (e.g., 11001011), and if an array of four disks were utilized, data throughput could be increased over that available by serially writing such a string to one disk by writing each two contiguous bits of the string to each disk in the array in a parallel fashion (e.g., writing 11 to array disk one, 00 to array disk two, 10 to array disk three, and 11 to array disk four).
One technique for providing a redundant array of disk memory devices is the so-called "Redundant Array of Inexpensive Disks" (RAID) wherein a tightly coupled plurality of disk storage devices are arranged into an array to provide greater data throughput. These disk arrays provide high data reliability and availability. That is, the expected time to data loss is quite long and the time spent repairing systems and recovering lost data is a small fraction of total time.
RAID systems are now being offered commercially. Numerous disk array systems are available, incorporating from a few to many disk drives. The various options available are generally referred to within the art as "RAID-xx" systems, where "xx" is some number (e.g., 1, 3, 5, etc.) denoting the RAID system "level."
RAID system "levels" are shorthand for the way that disks are configured and data processed of within different types of RAID systems. For example, RAID level 1 generally utilizes N disks for storing data and N additional disks for "mirroring" data being written to first N disks. RAID level 3 systems generally utilize one or more groups of N+1 disks; within each group, N disks are utilized to store data, and the additional disk is utilized to store parity data (the utilization of which will allow better accuracy). RAID level 5 systems also generally utilize N+1 disks, but differ from RAID level 3 in that data is divided into larger subdivisions; furthermore, in RAID level 5 the parity information is distributed among disks.
The performance of different computer applications is optimized for different RAID level systems. For example, RAID level 1 is generally accepted to be best suited for applications requiring high data availability. RAID level 3 is best utilized with applications requiring large file transfers, and RAID level 5 provides optimum performance for applications requiring high I/O rates and small block sizes.
As referenced above, RAID systems are now being offered commercially. The systems are being offered as high speed, extremely accurate, fault tolerant, and cost effective mass storage options.
It is common within the industry to offer array systems in drawers which can contain up to some predefined number of data storage disks. For example, the International Business Machines Corporation (IBM) offers a RAID level 5 serial storage architecture (SSA) disk device for the storage of digitally encoded video content (e.g., MPEG (Moving Pictures Expert Group), AVI (Audio Video Interleave), or other formats understood by those within the art). These SSA devices are configured as 4+P (four disks plus one parity disk) RAID arrays with hot spare disks to provide protection from disk failures. The disks are installed in IBM 7133 SSA drawers containing a maximum of 16 disks configured as three 4+P arrays and one hot spare disk.
Generally, it is common that customers only purchase the amount of data storage that they need presently or in the foreseeable future. Furthermore, it is not unusual that at some point subsequent to the same customers desire to increase the storage amount of their pre-existing data storage systems. In either case, it is not unusual for the customers' data storage needs not to equal that provided by fully populated RAID array disk drawers.
Accordingly, the industry has responded by allowing users to purchase and utilize partially populated RAID array disk drawers. Such partially populated RAID array disk drawers can be utilized alone or with other fully populated drawers. The industry also allows disks to be added to the partially populated RAID array disk drawers at a later time so that the size of the data storage systems can grow with the needs of the user.
The disks within the RAID array disk drawers must be properly configured under the RAID system in order to utilize the RAID system to work correctly. It is typical within the industry for vendors to sell to customers either partially or fully populated disk drawers, or a combination of fully and partially populated disk drawers, and leave it up to the customers to correctly configure the disks in the RAID array disk drawers such that the RAID system being utilized functions correctly. Many customers find that the foregoing vendor practices are less than optimum.
The practices are less than optimum because leaving the problem of correctly configuring the disks in the RAID array disk drawers up to the customer requires that the customer retain an expert in RAID array systems and the operating system being utilized by the computing system with which the RAID array is to be utilized in order to ensure that the RAID arrays be correctly configured. Such a requirement often produces additional frustration and expense for customers.
It should therefore be apparent that a need exists for a method and system for enhanced data management within a data storage subsystem which utilizes redundant arrays of disk memory devices which automatically and correctly configures disks within a system composed of either partially populated or fully populated RAID array disk drawers.